home *** CD-ROM | disk | FTP | other *** search
- program determ; { -> 55 }
- { pascal program to calculate the determinant of a 3-by-3matrix }
-
- type ary2 = array[1..3,1..3] of real;
-
- var a : ary2;
- n : integer;
- yesno : char;
- d : real;
-
- external procedure cls;
-
- procedure get_data(var a: ary2;
- var n: integer);
-
- { get values for n and arrays x,y }
-
- var i,j : integer;
-
- begin
- n:=3;
- writeln;
- for i:=1 to n do
- begin
- for j:=1 to n do
- begin
- write(j:3,':');
- readln(a[i,j])
- end { j-loop }
- end; { i-loop }
- writeln;
- for i:=1 to n do
- begin
- for j:=1 to n do
- write(a[i,j]:7:4,' ');
- writeln
- end;
- writeln
- end; { procedure get_data }
-
-
-
-
- function deter(a: ary2): real;
- { calculate the determinant of a 3-by-3matrix }
-
- var
- sum : real;
-
- begin
- sum:=a[1,1]*(a[2,2]*a[3,3]-a[3,2]*a[2,3])
- -a[1,2]*(a[2,1]*a[3,3]-a[3,1]*a[2,3])
- +a[1,3]*(a[2,1]*a[3,2]-a[3,1]*a[2,2]);
- deter:=sum
- end;
-
-
-
- begin { MAIN program }
- cls;
- repeat
- get_data(a,n);
- d:=deter(a);
- writeln('The determinant is',d);
- writeln;
- write('More?');
- readln(yesno);
- cls
- until (yesno<>'Y')and(yesno<>'y')
- end.